<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Classe Configuração : Guia do Usuário CodeIgniter</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="all" />
<meta name="author" content="ExpressionEngine Dev Team" />
<meta name="description" content="Guia do Usuário do CodeIgniter" />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Alternar Tabela de Conteúdos" alt="Alternar Tabela de Conteúdos" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Guia de Usuário CodeIgniter Versão 2.0.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Tabela de Conteúdos</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com.br/">Página Inicial</a> › 
<a href="../index.html">Guia de Usuário CodeIgniter</a> › Classe Configuração
</td>
<td id="searchbox"><form method="get" action="http://www.google.com.br/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com.br/manual/" />Busca <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Ok" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Classe Configuração</h1>

<p>A Classe Configuração provê meios de recuperar suas preferências de configuração. Estas preferências podem
vir do arquivo de configuração padrão (<samp>application/config/config.php</samp>) ou de seus próprios arquivos de configuração.</p>

<p class="important"><strong>Nota:</strong> Esta class é inicializada automaticamente pelo sistema e não é necessário carregá-la manualmente.</p>


<h2>Anatomia de um Arquivo de Configuração</h2>

<p>Por padrão, o CodeIgniter tem um arquivo de configuração primário, localizado em<samp>application/config/config.php</samp>. Se você abrir este arquivo usando 
seu editor de texto, você verá que os itens de configuração são armazenados em um array chamado <var>$config</var>.</p>

<p>Você pode adicionar seus próprios itens de configuração a este arquivo, 
ou se preferir manter suas configurações separadas, 
simplesmente crie seu próprio arquivo e salve o mesmo no diretório <dfn>config</dfn>.</p>

<p><strong>Nota:</strong> Se você criar seus próprios arquivos de configuração, use o mesmo formato do primário, armazenando seus itens em 
um array chamado <var>$config</var>. O CodeIgniter irá gerenciar estes arquivos de forma inteligente para que não hajam conflitos até mesmo 
se o array possuir o mesmo nome (desde que um indice deste array não tenha o mesmo nome que outro).</p>

<h2>Carregando um Arquivo de Configuração</h2>

<p><strong>Nota:</strong> O CodeIgniter carrega automaticamente o arquivo de configuração primário (<samp>application/config/config.php</samp>), 
então você só precisa carregar seus próprios arquivos de configuração.</p>

<p>Existem duas maneiras de se carregar um arquivo de configuração:</p>

<ol><li><strong>Carregamento Manual</strong>

<p>Para carregar um de seus próprios arquivos de configuração você usará a seguinte função em seus <a href="../general/controllers.html">controller</a>:</p>

<code>$this->config->load('<var>nomedoarquivo</var>');</code>

<p>Onde <var>nomedoarquivo</var> é o nome do seu arquivo de configuração, sem a extensão .php.</p>

<p>Se você precisa carregar vários arquivos de configuração, eles serão agregados em um único array de configuração. Colisão de nomes podem ocorrer, porém, se 
você tiver nomeado índices do array identicos em diferentes arquivos. Para evitar colisões, você pode passar o segundo parametro como <kbd>TRUE</kbd> 
e cada arquivo de configuração será armazenado em um índice de array correspondente ao nome do arquivo de configuração. Exemplo: </p>

<code>
// Armazenado em um array com esta estrutura:  $this->config['blog_settings'] = $config<br />
$this->config->load('<var>blog_settings</var>', <kbd>TRUE</kbd>);</code>

<p>Veja a seção chamada <dfn>Recuperando Itens de Configuração</dfn> abaixo para aprender como recuperar itens de configuração desta forma.</p>

<p>O terceiro parametro permite que você suprima erros caso o arquivo de configuração não exista:</p>

<code>$this->config->load('<var>blog_settings</var>', <dfn>FALSE</dfn>, <kbd>TRUE</kbd>);</code>

</li>
<li><strong>Carregamento Automático</strong>

<p>Se você precisar de uma configuração global em particular, você pode configurar o sistema para carregá-la automaticamente. Para isso, 
abra o arquivo <strong>autoload.php</strong>, localizado em <samp>application/config/autoload.php</samp>, e adicione seu arquivo de configuracao como 
indicado no arquivo.</p>
</li>
</ol>


<h2>Recuperando Itens de Configuração</h2>

<p>Para recuperar um item do seu arquivo de configuração, utilize o seguinte método:</p>

<code>$this->config->item('<var>nome do item</var>');</code>

<p>Onde <var>nome do item</var>é o índice do array $config que você deseja recuperar. Por exemplo, para recupera o idioma escolhida, você usaria:</p>

<code>$lang = $this->config->item('language');</code>

<p>O método retorna FALSE (booleano) se o item que você passou não existir.</p>

<p>Se você está usando o segundo parametro do método <kbd>$this->config->load</kbd> para definir seus itens de configuração em um índice específico, 
você pode recuperar esta informação especificando o nome do índice como segundo parametro do método <kbd>$this->config->item()</kbd>. Por exemplo:</p>

<code>
// Carrega o arquivo de configuracao chamado blog_settings.php e define para o índice chamado "blog_settings"<br />
$this->config->load('<var>blog_settings</var>', <kbd>TRUE</kbd>);<br /><br />

// Recupera o item de configuração chamado site_name do array blog_settings<br />
$site_name = $this->config->item('<dfn>site_name</dfn>', '<var>blog_settings</var>');<br /><br />

// Modo alternativo de especificar o mesmo item:<br />
$blog_config = $this->config->item('<var>blog_settings</var>');<br />
$site_name = $blog_config['site_name'];</code>

<h2>Definindo um Item de Configuração</h2>

<p>Se você quiser definir um item de configuração dinamicamente, ou alterar um já existente, pode usar:</p>

<code>$this->config->set_item('<var>nome_item</var>', '<var>valor_item</var>');</code>

<p>Onde <var>nome_item</var> é o índice do array $config que você quer alterar, e <var>valor_item</var> é o seu valor.</p>


<h2>Funções Assistentes</h2>

<p>A classe de Configuração tem os seguintes métodos assistentes:</p>

<h2>$this->config->site_url();</h2>
<p>Esta função recupera a URL para o seu site, com o valor que você tiver especificado no arquivo de configuração.</p>

<h2>$this->config->system_url();</h2>
<p>Esta função retorna a URL para o seu <dfn>diretório de sistema</dfn>.</p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Tópico Anterior:&nbsp;&nbsp;<a href="calendar.html">Classe Calendário</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Topo da Página</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">Guia de Usuário CodeIgniter</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Próximo Assunto:&nbsp;&nbsp;<a href="../database/index.html">Classe de Banco de Dados</a>
</p>
<p><a href="http://codeigniter.com.br">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>